home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / cpp114.zoo / src / main.s < prev    next >
Encoding:
Text File  |  1995-02-14  |  15.0 KB  |  1,001 lines

  1. ;top output:  ,by top V2.00x17 (Jul 21 1994)
  2.  
  3.     .text
  4.  
  5. _usage:
  6.     move.l    _argv0,-(sp)
  7.     move.l    #L6,-(sp)
  8.     move.l    #__iob+44,-(sp)
  9.     jsr    _fprintf
  10.     lea    12(sp),sp
  11.     move.w    #1,-(sp)
  12.     jsr    _exit
  13.     addq.w    #2,sp
  14.     rts
  15.  
  16. _dammit:
  17.     move.w    4(sp),-(sp)
  18.     move.l    #L10,-(sp)
  19.     jsr    _fatal
  20.     addq.w    #6,sp
  21.     rts
  22.  
  23. _setup_signals:
  24.     move.l    #_dammit,-(sp)
  25.     move.w    #1,-(sp)
  26.     jsr    _signal
  27.     addq.w    #2,sp
  28.     move.l    #_dammit,(sp)
  29.     move.w    #2,-(sp)
  30.     jsr    _signal
  31.     addq.w    #2,sp
  32.     move.l    #_dammit,(sp)
  33.     move.w    #3,-(sp)
  34.     jsr    _signal
  35.     addq.w    #2,sp
  36.     move.l    #_dammit,(sp)
  37.     move.w    #4,-(sp)
  38.     jsr    _signal
  39.     addq.w    #2,sp
  40.     move.l    #_dammit,(sp)
  41.     move.w    #5,-(sp)
  42.     jsr    _signal
  43.     addq.w    #2,sp
  44.     move.l    #_dammit,(sp)
  45.     move.w    #6,-(sp)
  46.     jsr    _signal
  47.     addq.w    #2,sp
  48.     move.l    #_dammit,(sp)
  49.     move.w    #7,-(sp)
  50.     jsr    _signal
  51.     addq.w    #2,sp
  52.     move.l    #_dammit,(sp)
  53.     move.w    #8,-(sp)
  54.     jsr    _signal
  55.     addq.w    #2,sp
  56.     move.l    #_dammit,(sp)
  57.     move.w    #10,-(sp)
  58.     jsr    _signal
  59.     addq.w    #2,sp
  60.     move.l    #_dammit,(sp)
  61.     move.w    #11,-(sp)
  62.     jsr    _signal
  63.     addq.w    #2,sp
  64.     move.l    #_dammit,(sp)
  65.     move.w    #12,-(sp)
  66.     jsr    _signal
  67.     addq.w    #2,sp
  68.     move.l    #_dammit,(sp)
  69.     move.w    #13,-(sp)
  70.     jsr    _signal
  71.     addq.w    #2,sp
  72.     move.l    #_dammit,(sp)
  73.     move.w    #14,-(sp)
  74.     jsr    _signal
  75.     addq.w    #2,sp
  76.     move.l    #_dammit,(sp)
  77.     move.w    #15,-(sp)
  78.     jsr    _signal
  79.     addq.w    #6,sp
  80.     rts
  81.  
  82. _add_include:
  83.     link    a6,#-4
  84.     tst.l    L17
  85.     bne    L19
  86.     move.w    #3,L18
  87.     moveq.l    #3,d0
  88.     asl.w    #2,d0
  89.     move.w    d0,-(sp)
  90.     jsr    _mallok
  91.     addq.w    #2,sp
  92.     move.l    d0,_I_list
  93.     move.l    d0,L17
  94. L19:
  95.     move.l    L17,d1
  96.     move.l    d1,d0
  97.     move.l    _I_list,d2
  98.     sub.l    d2,d0
  99.     asr.w    #2,d0
  100.     lea    L18,a0
  101.     cmp.w    (a0),d0
  102.     bne    L20
  103.     move.l    d1,d0
  104.     sub.l    d2,d0
  105.     asr.w    #2,d0
  106.     ext.l    d0
  107.     move.l    d0,-4(a6)
  108.     move.w    (a0),d0
  109.     add.w    d0,d0
  110.     move.w    d0,(a0)
  111.     asl.w    #2,d0
  112.     move.w    d0,-(sp)
  113.     move.l    d2,-(sp)
  114.     jsr    _reallok
  115.     addq.w    #6,sp
  116.     lea    _I_list,a0
  117.     move.l    d0,(a0)
  118.     move.l    -4(a6),d0
  119.     asl.l    #2,d0
  120.     add.l    (a0),d0
  121.     move.l    d0,L17
  122. L20:
  123.     lea    L17,a1
  124.     move.l    (a1),a0
  125.     addq.l    #4,(a1)
  126.     lea    8(a6),a1
  127.     move.l    (a1),(a0)
  128.     tst.w    L0
  129.     beq    L16
  130.     move.l    (a1),d0
  131.     beq    L16
  132.     move.l    d0,-(sp)
  133.     move.l    #L22,-(sp)
  134.     move.l    #__iob+44,-(sp)
  135.     jsr    _fprintf
  136. L16:
  137.     unlk    a6
  138.     rts
  139.  
  140. _long_option:
  141.     pea    (a3)
  142.     move.l    8(sp),a3
  143.     moveq.l    #1,d1
  144.     cmp.b    #87,(a3)
  145.     beq    L27
  146.     cmp.b    #102,(a3)
  147.     bne    L26
  148. L27:
  149.     cmp.b    #110,1(a3)
  150.     bne    L28
  151.     cmp.b    #111,2(a3)
  152.     bne    L28
  153.     cmp.b    #45,3(a3)
  154.     bne    L28
  155.     moveq.l    #0,d1
  156.     move.l    a3,d0
  157.     addq.l    #4,d0
  158. T25:
  159.     move.l    d0,a2
  160.     cmp.b    #87,(a3)
  161.     bne    L30
  162.     move.l    a2,a0
  163.     move.l    #L32,a1
  164.     jsr    Rstrcmp
  165.     bne    L31
  166.     move.w    d1,_w_bad_chars
  167. L25:
  168.     move.l    (sp)+,a3
  169.     rts
  170. L31:
  171.     move.l    a2,a0
  172.     move.l    #L35,a1
  173.     jsr    Rstrcmp
  174.     bne    L34
  175.     move.w    d1,_w_nest_cmts
  176.     bra    L25
  177. L34:
  178.     move.l    a2,a0
  179.     move.l    #L38,a1
  180.     jsr    Rstrcmp
  181.     bne    L37
  182.     move.w    d1,_w_bad_concat
  183.     bra    L25
  184. L37:
  185.     move.l    a2,a0
  186.     move.l    #L41,a1
  187.     jsr    Rstrcmp
  188.     bne    L40
  189.     move.w    d1,_w_pragma
  190.     bra    L25
  191. L40:
  192.     pea    (a2)
  193.     move.l    #L43,-(sp)
  194. T26:
  195.     jsr    _error
  196.     addq.w    #8,sp
  197.     jsr    _usage
  198.     bra    L25
  199. L30:
  200.     move.l    a2,a0
  201.     move.l    #L46,a1
  202.     jsr    Rstrcmp
  203.     bne    L45
  204.     move.w    d1,_f_cpp_cmts
  205.     bra    L25
  206. L45:
  207.     move.l    a2,a0
  208.     move.l    #L49,a1
  209.     jsr    Rstrcmp
  210.     bne    L48
  211.     move.w    d1,_gcc_strings
  212.     bra    L25
  213. L48:
  214.     pea    (a2)
  215.     move.l    #L51,-(sp)
  216.     bra    T26
  217. L28:
  218.     move.l    a3,d0
  219.     addq.l    #1,d0
  220.     bra    T25
  221. L26:
  222.     cmp.b    #88,(a3)
  223.     bne    L53
  224.     lea    1(a3),a0
  225.     move.l    #L55,a1
  226.     jsr    Rstrcmp
  227.     bne    L54
  228.     move.w    #1,_fluff_mode
  229.     bra    L25
  230. L54:
  231.     pea    1(a3)
  232.     move.l    #L57,-(sp)
  233.     bra    T26
  234. L53:
  235.     move.l    a3,a0
  236.     move.l    #L60,a1
  237.     jsr    Rstrcmp
  238.     bne    L59
  239.     move.w    #1,_ansi
  240.     eor.w    #1,_do_trigraphs
  241.     bra    L25
  242. L59:
  243.     move.l    a3,a0
  244.     move.l    #L63,a1
  245.     jsr    Rstrcmp
  246.     bne    L62
  247.     move.w    #1,_pedantic
  248.     bra    L25
  249. L62:
  250.     pea    (a3)
  251.     move.l    #L65,-(sp)
  252.     bra    T26
  253.  
  254. _opt_define:
  255.     link    a6,#-16
  256.     movem.l    d4/d5/a3/a4/a5,-(sp)
  257.     move.l    8(a6),a5
  258.     lea    -12(a6),a3
  259.     moveq.l    #0,d4
  260.     pea    (a3)
  261.     pea    (a5)
  262.     jsr    _hash_id
  263.     addq.w    #8,sp
  264.     move.w    d0,d5
  265.     move.l    (a3),a0
  266.     tst.b    (a0)
  267.     beq    L70
  268.     move.l    (a3),a0
  269.     cmp.b    #61,(a0)
  270.     beq    L70
  271.     pea    (a5)
  272.     move.l    #L71,-(sp)
  273.     jsr    _error
  274.     addq.w    #8,sp
  275. L68:
  276.     movem.l    (sp)+,d4/d5/a3/a4/a5
  277.     unlk    a6
  278.     rts
  279. L70:
  280.     move.l    (a3),a0
  281.     tst.b    (a0)
  282.     beq    L72
  283.     move.l    (a3),a0
  284.     addq.l    #1,(a3)
  285.     clr.b    (a0)
  286. L73:
  287.     jsr    _mk_Macro
  288.     move.l    d0,a4
  289.     move.l    (a3),-(sp)
  290.     jsr    _tokenize_string
  291.     addq.w    #2,sp
  292.     move.l    d0,12(a4)
  293.     move.w    d5,(sp)
  294.     pea    (a5)
  295.     jsr    _lookup
  296.     addq.w    #6,sp
  297.     move.l    d0,d1
  298.     beq    L74
  299.     move.l    d1,a0
  300.     moveq.l    #17,d0
  301.     and.w    6(a0),d0
  302.     beq    L75
  303.     moveq.l    #1,d4
  304. L75:
  305.     tst.w    d4
  306.     bne    L77
  307.     move.l    d1,-(sp)
  308.     pea    (a4)
  309.     jsr    _macro_eq
  310.     addq.w    #8,sp
  311.     tst.w    d0
  312.     bne    L76
  313. L77:
  314.     tst.w    d4
  315.     bne    L76
  316.     pea    (a5)
  317.     move.l    #L79,-(sp)
  318.     jsr    _error
  319.     addq.w    #8,sp
  320. L76:
  321.     pea    (a4)
  322.     jsr    _free_Macro
  323.     addq.w    #4,sp
  324.     bra    L68
  325. L74:
  326.     pea    (a4)
  327.     move.w    d5,-(sp)
  328.     pea    (a5)
  329.     jsr    _hash_add
  330.     lea    10(sp),sp
  331.     bra    L68
  332. L72:
  333.     move.l    #L69,(a3)
  334.     bra    L73
  335.  
  336. _opt_undefine:
  337.     movem.l    d3/d4/d5/a3,-(sp)
  338.     move.l    20(sp),a3
  339.     moveq.l    #0,d5
  340.     clr.l    -(sp)
  341.     pea    (a3)
  342.     jsr    _hash_id
  343.     addq.w    #6,sp
  344.     move.w    d0,d4
  345.     move.w    d4,(sp)
  346.     pea    (a3)
  347.     jsr    _lookup
  348.     addq.w    #6,sp
  349.     move.l    d0,d3
  350.     beq    L83
  351.     move.l    d3,a0
  352.     moveq.l    #1,d0
  353.     and.w    6(a0),d0
  354.     beq    L84
  355. L82:
  356.     movem.l    (sp)+,d3/d4/d5/a3
  357.     rts
  358. L84:
  359.     move.l    d3,a0
  360.     move.l    12(a0),d0
  361.     beq    L85
  362.     move.l    d0,-(sp)
  363.     jsr    _free_tlist
  364.     addq.w    #4,sp
  365. L85:
  366.     moveq.l    #1,d5
  367. L86:
  368.     move.l    d3,a0
  369.     clr.l    12(a0)
  370.     or.w    #16,6(a0)
  371.     tst.w    d5
  372.     bne    L82
  373.     move.l    d3,-(sp)
  374.     move.w    d4,-(sp)
  375.     pea    (a3)
  376.     jsr    _hash_add
  377.     lea    10(sp),sp
  378.     bra    L82
  379. L83:
  380.     jsr    _mk_Macro
  381.     move.l    d0,d3
  382.     bra    L86
  383.  
  384.     .globl    _do_cmdline_arg
  385.  
  386. _do_cmdline_arg:
  387.     move.l    4(sp),a1
  388.     move.b    1(a1),d0
  389.     ext.w    d0
  390.     sub.w    #67,d0
  391.     bne    T45
  392.     move.w    #1,_keep_comments
  393. L90:
  394.     rts
  395. T45:
  396.     subq.w    #1,d0
  397.     bne    T46
  398.     pea    2(a1)
  399.     jsr    _opt_define
  400.     addq.w    #4,sp
  401.     rts
  402. T46:
  403.     subq.w    #5,d0
  404.     bne    T47
  405.     clr.w    -(sp)
  406.     pea    2(a1)
  407.     jsr    _copy_filename
  408.     addq.w    #2,sp
  409.     move.l    d0,(sp)
  410.     jsr    _add_include
  411.     addq.w    #4,sp
  412.     rts
  413. T47:
  414.     subq.w    #7,d0
  415.     bne    T48
  416.     move.b    2(a1),d0
  417.     ext.w    d0
  418.     bne    T41
  419. L96:
  420.     clr.w    _sl_style
  421.     rts
  422. T41:
  423.     sub.w    #48,d0
  424.     beq    L96
  425.     subq.w    #1,d0
  426.     bne    T43
  427.     move.w    #1,_sl_style
  428.     rts
  429. T43:
  430.     subq.w    #1,d0
  431.     bne    L99
  432.     move.w    #2,_sl_style
  433.     rts
  434. L99:
  435.     move.b    2(a1),d0
  436.     ext.w    d0
  437.     move.w    d0,-(sp)
  438.     move.l    #L100,-(sp)
  439.     jsr    _error
  440.     addq.w    #6,sp
  441.     rts
  442. T48:
  443.     subq.w    #3,d0
  444.     beq    L90
  445.     subq.w    #1,d0
  446.     bne    T50
  447.     eor.w    #1,_do_trigraphs
  448.     rts
  449. T50:
  450.     subq.w    #1,d0
  451.     bne    T51
  452.     pea    2(a1)
  453.     jsr    _opt_undefine
  454.     addq.w    #4,sp
  455.     rts
  456. T51:
  457.     subq.w    #1,d0
  458.     bne    L109
  459.     move.w    #1,L0
  460.     move.l    #65540,-(sp)
  461.     move.w    #1,-(sp)
  462.     move.l    #L107,-(sp)
  463.     move.l    #__iob+44,-(sp)
  464.     jsr    _fprintf
  465.     lea    14(sp),sp
  466.     rts
  467. L109:
  468.     pea    1(a1)
  469.     jsr    _long_option
  470.     addq.w    #4,sp
  471.     rts
  472.  
  473.     .globl    _do_all_cmdline_args
  474.  
  475. _do_all_cmdline_args:
  476.     move.l    d3,-(sp)
  477.     moveq.l    #1,d3
  478.     bra    L115
  479. T55:
  480.     move.w    d3,a0
  481.     add.l    a0,a0
  482.     add.l    a0,a0
  483.     move.l    0(a0,d0.l),-(sp)
  484.     jsr    _do_cmdline_arg
  485.     addq.w    #4,sp
  486.     addq.w    #1,d3
  487. L115:
  488.     cmp.w    L110,d3
  489.     bge    L117
  490.     move.w    d3,a0
  491.     add.l    a0,a0
  492.     add.l    a0,a0
  493.     move.l    L111,d0
  494.     add.l    d0,a0
  495.     move.l    (a0),a0
  496.     cmp.b    #45,(a0)
  497.     bne    L117
  498.     move.w    d3,a0
  499.     add.l    a0,a0
  500.     add.l    a0,a0
  501.     add.l    d0,a0
  502.     move.l    (a0),a0
  503.     tst.b    1(a0)
  504.     bne    T55
  505. L117:
  506.     jsr    _hash_clean_undef
  507.     move.w    d3,_Argc_end
  508.     move.l    (sp)+,d3
  509.     rts
  510.  
  511. _do_config_file:
  512.     link    a6,#-128
  513.     movem.l    d3/a3/a4,-(sp)
  514.     lea    -128(a6),a4
  515.     tst.l    L1
  516.     bne    L121
  517.     move.l    #L123,-(sp)
  518.     jsr    _getenv
  519.     addq.w    #4,sp
  520.     move.l    d0,a3
  521.     move.l    a3,d0
  522.     bne    L125
  523.     move.l    #L124,a3
  524.     bra    L125
  525. T59:
  526.     move.l    a3,a0
  527.     move.l    #L127,a1
  528.     jsr    Rstrcspn
  529.     move.w    d0,d3
  530.     move.l    a4,a0
  531.     move.l    a3,a1
  532.     move.w    d3,d1
  533.     jsr    Rstrncpy
  534.     move.b    #47,0(a4,d3.w)
  535.     ext.l    d3
  536.     move.l    a4,a0
  537.     add.l    d3,a0
  538.     addq.l    #1,a0
  539.     move.l    #L128,a1
  540.     jsr    Rstrcpy
  541.     move.w    #4,-(sp)
  542.     pea    (a4)
  543.     jsr    _access
  544.     addq.w    #6,sp
  545.     tst.w    d0
  546.     bne    L129
  547.     move.w    #1,_in_config_file
  548.     pea    (a4)
  549. T66:
  550.     jsr    _process_file
  551.     addq.w    #4,sp
  552.     clr.w    _in_config_file
  553.     bra    L120
  554. L129:
  555.     add.w    d3,a3
  556.     tst.b    (a3)
  557.     beq    L125
  558.     addq.l    #1,a3
  559. L125:
  560.     tst.b    (a3)
  561.     bne    T59
  562. L120:
  563.     movem.l    (sp)+,d3/a3/a4
  564.     unlk    a6
  565.     rts
  566. L121:
  567.     lea    L1,a3
  568.     move.l    (a3),a0
  569.     tst.b    (a0)
  570.     beq    L120
  571.     move.w    #4,-(sp)
  572.     move.l    (a3),-(sp)
  573.     jsr    _access
  574.     addq.w    #6,sp
  575.     tst.w    d0
  576.     beq    L133
  577.     move.l    (a3),-(sp)
  578.     move.l    #L134,-(sp)
  579.     jsr    _warning
  580.     addq.w    #8,sp
  581.     bra    L120
  582. L133:
  583.     move.w    #1,_in_config_file
  584.     move.l    (a3),-(sp)
  585.     bra    T66
  586.  
  587. _include_path_list:
  588.     movem.l    d3/a3/a4,-(sp)
  589.     move.l    16(sp),a3
  590.     move.l    #L139,a4
  591.     move.l    a3,a0
  592.     move.l    #L127,d2
  593.     move.l    d2,a1
  594.     jsr    Rstrpbrk
  595.     tst.l    d0
  596.     beq    L141
  597.     move.l    d2,a4
  598.     bra    L141
  599. T68:
  600.     move.l    a3,a0
  601.     move.l    a4,a1
  602.     jsr    Rstrcspn
  603.     move.w    d0,d3
  604.     move.w    d3,-(sp)
  605.     pea    (a3)
  606.     jsr    _copy_filename
  607.     addq.w    #2,sp
  608.     move.l    d0,(sp)
  609.     jsr    _add_include
  610.     addq.w    #4,sp
  611.     moveq.l    #0,d0
  612.     move.w    d3,d0
  613.     add.l    d0,a3
  614.     tst.b    (a3)
  615.     beq    L141
  616.     addq.l    #1,a3
  617. L141:
  618.     tst.b    (a3)
  619.     bne    T68
  620.     movem.l    (sp)+,d3/a3/a4
  621.     rts
  622.  
  623.     .globl    _main
  624.  
  625. _main:
  626.     link    a6,#-12
  627.     movem.l    d3/d4/a3/a4/a5,-(sp)
  628.     lea    -8(a6),a5
  629.     move.w    8(a6),d4
  630.     move.l    10(a6),a4
  631.     move.l    (a4),_argv0
  632.     jsr    _Z_type_init
  633.     jsr    _hash_setup
  634.     jsr    _cond_setup
  635.     jsr    _setup_signals
  636.     pea    (a5)
  637.     jsr    _time
  638.     move.l    a5,(sp)
  639.     jsr    _localtime
  640.     move.l    d0,d3
  641.     move.l    d3,(sp)
  642.     move.l    #L147,-(sp)
  643.     move.w    #12,-(sp)
  644.     move.l    #_date_string,-(sp)
  645.     jsr    _strftime
  646.     lea    10(sp),sp
  647.     move.l    d3,(sp)
  648.     move.l    #L148,-(sp)
  649.     move.w    #9,-(sp)
  650.     move.l    #_time_string,-(sp)
  651.     jsr    _strftime
  652.     lea    10(sp),sp
  653.     clr.l    (sp)
  654.     jsr    _add_include
  655.     addq.w    #4,sp
  656.     moveq.l    #1,d3
  657.     bra    L149
  658. T72:
  659.     ext.l    d3
  660.     move.l    d3,d0
  661.     asl.l    #2,d0
  662.     move.l    0(a4,d0.l),a0
  663.     cmp.b    #45,(a0)
  664.     bne    L150
  665.     ext.l    d3
  666.     move.l    d3,d0
  667.     asl.l    #2,d0
  668.     move.l    0(a4,d0.l),a0
  669.     cmp.b    #83,1(a0)
  670.     bne    L150
  671.     ext.l    d3
  672.     move.l    d3,d0
  673.     asl.l    #2,d0
  674.     move.l    0(a4,d0.l),d0
  675.     addq.l    #2,d0
  676.     move.l    d0,L1
  677. L150:
  678.     addq.w    #1,d3
  679. L149:
  680.     cmp.w    d4,d3
  681.     bge    L151
  682.     ext.l    d3
  683.     move.l    d3,d0
  684.     asl.l    #2,d0
  685.     move.l    0(a4,d0.l),a0
  686.     cmp.b    #45,(a0)
  687.     bne    L151
  688.     ext.l    d3
  689.     move.l    d3,d0
  690.     asl.l    #2,d0
  691.     move.l    0(a4,d0.l),a0
  692.     tst.b    1(a0)
  693.     bne    T72
  694. L151:
  695.     move.w    d4,L110
  696.     move.l    a4,L111
  697.     jsr    _do_config_file
  698.     tst.w    _Argc_end
  699.     bne    L153
  700.     jsr    _do_all_cmdline_args
  701. L153:
  702.     move.l    #L155,-(sp)
  703.     jsr    _getenv
  704.     addq.w    #4,sp
  705.     move.l    d0,a2
  706.     move.l    a2,d0
  707.     beq    L154
  708.     pea    (a2)
  709.     jsr    _include_path_list
  710.     addq.w    #4,sp
  711. L154:
  712.     clr.l    -(sp)
  713.     jsr    _add_include
  714.     addq.w    #4,sp
  715.     move.w    d4,d0
  716.     sub.w    d3,d0
  717.     subq.w    #2,d0
  718.     ble    L156
  719.     move.l    #L157,-(sp)
  720.     jsr    _error
  721.     addq.w    #4,sp
  722.     jsr    _usage
  723. L156:
  724.     cmp.w    d4,d3
  725.     bge    L158
  726.     ext.l    d3
  727.     move.l    d3,d0
  728.     asl.l    #2,d0
  729.     move.l    0(a4,d0.l),a0
  730.     move.l    #L159,a1
  731.     jsr    Rstrcmp
  732.     beq    L158
  733.     clr.w    -(sp)
  734.     ext.l    d3
  735.     move.l    d3,d0
  736.     asl.l    #2,d0
  737.     move.l    0(a4,d0.l),-(sp)
  738.     jsr    _copy_filename
  739.     addq.w    #6,sp
  740.     move.l    d0,a3
  741. L160:
  742.     move.w    d3,d0
  743.     addq.w    #1,d0
  744.     cmp.w    d4,d0
  745.     bge    L161
  746.     ext.l    d0
  747.     asl.l    #2,d0
  748.     move.l    0(a4,d0.l),a0
  749.     move.l    #L159,a1
  750.     jsr    Rstrcmp
  751.     beq    L162
  752.     move.l    #L163,-(sp)
  753.     move.w    d3,d0
  754.     addq.w    #1,d0
  755.     ext.l    d0
  756.     asl.l    #2,d0
  757.     move.l    0(a4,d0.l),-(sp)
  758.     jsr    _xfopen
  759.     addq.w    #8,sp
  760.     move.l    d0,_outf
  761.     bne    L161
  762. L162:
  763.     move.w    d3,d0
  764.     addq.w    #1,d0
  765.     ext.l    d0
  766.     asl.l    #2,d0
  767.     move.l    0(a4,d0.l),-(sp)
  768.     move.l    _argv0,-(sp)
  769.     move.l    #L164,-(sp)
  770.     jsr    _fatal
  771.     lea    12(sp),sp
  772. L161:
  773.     pea    (a3)
  774.     jsr    _process_file
  775.     move.l    a3,(sp)
  776.     jsr    _free
  777.     addq.w    #4,sp
  778.     move.l    _I_list,a3
  779.     addq.w    #4,a3
  780.     bra    L165
  781. T73:
  782.     beq    L166
  783.     move.l    d0,-(sp)
  784.     jsr    _free
  785.     addq.w    #4,sp
  786. L166:
  787.     addq.l    #4,a3
  788. L165:
  789.     move.l    (a3),d0
  790.     bne    T73
  791.     move.l    _I_list,-(sp)
  792.     jsr    _free
  793.     move.l    _outf,(sp)
  794.     jsr    _fclose
  795.     addq.w    #4,sp
  796.     jsr    _hash_free
  797.     jsr    _cond_shutdown
  798.     jsr    _tok_shutdown
  799.     jsr    _free_cmt_buf
  800.     move.w    _nerrs,d0
  801.     ble    L169
  802.     move.w    d0,-(sp)
  803.     move.l    #L170,-(sp)
  804.     move.l    #__iob+44,-(sp)
  805.     jsr    _fprintf
  806.     lea    10(sp),sp
  807.     moveq.l    #1,d0
  808. L146:
  809.     movem.l    (sp)+,d3/d4/a3/a4/a5
  810.     unlk    a6
  811.     rts
  812. L169:
  813.     moveq.l    #0,d0
  814.     bra    L146
  815. L158:
  816.     move.l    #L2,a3
  817.     bra    L160
  818.     .data
  819.     .globl    _outf
  820. _outf:
  821.     .dc.l    __iob+22
  822.     .globl    _inf
  823. _inf:
  824.     .dc.l    0
  825.     .bss
  826.     .globl    _argv0
  827.     .comm    _argv0,4
  828.     .globl    _I_list
  829.     .comm    _I_list,4
  830.     .globl    _date_string
  831.     .comm    _date_string,12
  832.     .globl    _time_string
  833.     .comm    _time_string,10
  834.     .globl    _nerrs
  835.     .comm    _nerrs,2
  836.     .data
  837.     .globl    _sl_style
  838. _sl_style:
  839.     .dc.w    1
  840.     .globl    _keep_comments
  841. _keep_comments:
  842.     .dc.w    0
  843.     .globl    _do_trigraphs
  844. _do_trigraphs:
  845.     .dc.w    0
  846.     .globl    _ansi
  847. _ansi:
  848.     .dc.w    0
  849.     .globl    _w_bad_chars
  850. _w_bad_chars:
  851.     .dc.w    1
  852.     .globl    _w_nest_cmts
  853. _w_nest_cmts:
  854.     .dc.w    0
  855.     .globl    _f_cpp_cmts
  856. _f_cpp_cmts:
  857.     .dc.w    0
  858.     .globl    _w_bad_concat
  859. _w_bad_concat:
  860.     .dc.w    1
  861.     .globl    _w_pragma
  862. _w_pragma:
  863.     .dc.w    0
  864.     .globl    _pedantic
  865. _pedantic:
  866.     .dc.w    0
  867.     .globl    _gcc_strings
  868. _gcc_strings:
  869.     .dc.w    0
  870. L0:
  871.     .dc.w    0
  872.     .globl    _in_config_file
  873. _in_config_file:
  874.     .dc.w    0
  875. L1:
  876.     .dc.l    0
  877. L2:
  878.     .dc.b    's','t','a','n','d','a','r','d',' ','i','n'
  879.     .dc.b    'p','u','t'
  880.     .dc.b    0
  881.     .globl    _fluff_mode
  882. _fluff_mode:
  883.     .dc.w    0
  884.     .data
  885. L17:
  886.     .dc.l    0
  887.     .bss
  888. L18:    .ds.w    1
  889.     .data
  890. L69:
  891.     .dc.b    '1'
  892.     .dc.b    0
  893.     .data
  894. L110:
  895.     .dc.w    0
  896. L111:
  897.     .dc.l    0
  898.     .globl    _Argc_end
  899. _Argc_end:
  900.     .dc.w    0
  901.     .data
  902. L170:    .dc.b    '%','d',' ','e','r','r','o','r','s',$A
  903.     .dc.b    0
  904. L164:    .dc.b    '%','s',':',' ','c','a','n','n','o','t',' '
  905.     .dc.b    'o','p','e','n',' ','o','u','t','p','u','t',' ','f','i','l','e'
  906.     .dc.b    ' ','%','s'
  907.     .dc.b    0
  908. L163:    .dc.b    'w'
  909.     .dc.b    0
  910. L159:    .dc.b    '-'
  911.     .dc.b    0
  912. L157:    .dc.b    't','o','o',' ','m','a','n','y',' ','a','r'
  913.     .dc.b    'g','u','m','e','n','t','s'
  914.     .dc.b    0
  915. L155:    .dc.b    'I','N','C','L','U','D','E'
  916.     .dc.b    0
  917. L148:    .dc.b    '%','H',':','%','M',':','%','S'
  918.     .dc.b    0
  919. L147:    .dc.b    '%','b',' ','%','d',' ','%','Y'
  920.     .dc.b    0
  921. L139:    .dc.b    ':'
  922.     .dc.b    0
  923. L134:    .dc.b    'c','a','n','n','o','t',' ','o','p','e','n'
  924.     .dc.b    ' ','u','s','e','r','-','s','p','e','c','i','f','i','e','d',' '
  925.     .dc.b    'c','o','n','f','i','g',' ','f','i','l','e',' ','"','%','s'
  926.     .dc.b    '"'
  927.     .dc.b    0
  928. L128:    .dc.b    'c','p','p','_','d','e','f','s','.','h'
  929.     .dc.b    0
  930. L127:    .dc.b    ',',';'
  931.     .dc.b    0
  932. L124:    .dc.b    '.'
  933.     .dc.b    0
  934. L123:    .dc.b    'L','I','B'
  935.     .dc.b    0
  936. L107:    .dc.b    'C','P','P',' ','-','-',' ','C',' ','p','r'
  937.     .dc.b    'e','p','r','o','c','e','s','s','o','r',' ','v','%','d','.','%'
  938.     .dc.b    'd','.','%','d',$A,'(','c',')',' ','1','9','9','3','-','9'
  939.     .dc.b    '5',' ','H','a','c','k','e','r',' ','L','t','d','.',',',' ','a'
  940.     .dc.b    'l','l',' ','r','i','g','h','t','s',' ','r','e','s','e','r'
  941.     .dc.b    'v','e','d',$A
  942.     .dc.b    0
  943. L100:    .dc.b    'b','a','d',' ','a','r','g','u','m','e','n'
  944.     .dc.b    't',' ',$27,'%','c',$27,' ','t','o',' ','-','P',' ','o','p','t'
  945.     .dc.b    'i','o','n'
  946.     .dc.b    0
  947. L79:    .dc.b    'n','o','n','-','i','d','e','n','t','i','c'
  948.     .dc.b    'a','l',' ','r','e','d','e','f','i','n','i','t','i','o','n',' '
  949.     .dc.b    'o','f',' ','"','%','s','"'
  950.     .dc.b    0
  951. L71:    .dc.b    'm','a','l','f','o','r','m','e','d',' ','-'
  952.     .dc.b    'D',' ','o','p','t','i','o','n',' ','"','%','s','"'
  953.     .dc.b    0
  954. L65:    .dc.b    'u','n','r','e','c','o','g','n','i','z','e'
  955.     .dc.b    'd',' ','o','p','t','i','o','n',' ','-','%','s'
  956.     .dc.b    0
  957. L63:    .dc.b    'p','e','d','a','n','t','i','c'
  958.     .dc.b    0
  959. L60:    .dc.b    'a','n','s','i'
  960.     .dc.b    0
  961. L57:    .dc.b    'u','n','k','n','o','w','n',' ','-','X',' '
  962.     .dc.b    'o','p','t','i','o','n',':',' ',' ','%','s'
  963.     .dc.b    0
  964. L55:    .dc.b    'f','l','u','f','f'
  965.     .dc.b    0
  966. L51:    .dc.b    'u','n','k','n','o','w','n',' ','-','f',' '
  967.     .dc.b    'o','p','t','i','o','n',':',' ',' ','%','s'
  968.     .dc.b    0
  969. L49:    .dc.b    'i','m','p','l','i','c','i','t','-','n','e'
  970.     .dc.b    'w','l','i','n','e','s'
  971.     .dc.b    0
  972. L46:    .dc.b    'c','+','+','-','c','o','m','m','e','n','t'
  973.     .dc.b    's'
  974.     .dc.b    0
  975. L43:    .dc.b    'u','n','k','n','o','w','n',' ','-','W',' '
  976.     .dc.b    'o','p','t','i','o','n',':',' ',' ','%','s'
  977.     .dc.b    0
  978. L41:    .dc.b    'u','n','k','n','o','w','n','-','p','r','a'
  979.     .dc.b    'g','m','a'
  980.     .dc.b    0
  981. L38:    .dc.b    'b','a','d','-','c','o','n','c','a','t','-'
  982.     .dc.b    't','o','k','e','n','s'
  983.     .dc.b    0
  984. L35:    .dc.b    'n','e','s','t','e','d','-','c','o','m','m'
  985.     .dc.b    'e','n','t','s'
  986.     .dc.b    0
  987. L32:    .dc.b    'b','a','d','-','c','h','a','r','s'
  988.     .dc.b    0
  989. L22:    .dc.b    'A','d','d','i','n','g',' ','i','n','c','l'
  990.     .dc.b    'u','d','e',' ','p','a','t','h',' ','"','%','s','"',$A
  991.     .dc.b    0
  992. L10:    .dc.b    'r','e','c','e','i','v','e','d',' ','s','i'
  993.     .dc.b    'g','n','a','l',' ','%','d'
  994.     .dc.b    0
  995. L6:    .dc.b    'u','s','a','g','e',':',' ','%','s',' ','['
  996.     .dc.b    '-','D','n','a','m','e','[','=','v','a','l','u','e',']','.','.'
  997.     .dc.b    '.',']',' ','[','-','U','n','a','m','e',']',' ','[',' ','i'
  998.     .dc.b    'n','f','i','l','e',' ','[',' ','o','u','t','f','i','l','e',' '
  999.     .dc.b    ']',' ',']',$A
  1000.     .dc.b    0
  1001.